package com.jsz.peini.redis.util;

import java.util.Date;

import org.apache.commons.lang.StringUtils;

import com.jsz.peini.common.util.DateTimeUtils;
import com.jsz.peini.redis.base.RedisConstants;
import com.jsz.peini.redis.base.RedisUtil;

/**
 * @author Han Guohong
 * @version 2017-3-17 上午11:10:06
 * 类说明
 */
public class FansNotifyRedisUtil {
	
	/**
	 * 获取上次提醒日期
	 * @author Han Guohong
	 * @param userId
	 * @return
	 */
	public static Date getLastSignRemind(String userId){
		byte [] strArr = RedisUtil.hget(RedisConstants.FANS_NOTIFY.getBytes(), userId.getBytes());
		if(strArr == null){
			return null;
		}else{
			String date = new String(strArr);
			return DateTimeUtils.formatString2Date(date, "yyyy-MM-dd");
		}
	}
	
	/**
	 * 更新用户签到提醒日期
	 * @author Han Guohong
	 * @param userId
	 * @param date
	 */
	public static void updateLastSignRemind(String userId,Date date){
		RedisUtil.hset(RedisConstants.FANS_NOTIFY.getBytes(), userId.getBytes(), DateTimeUtils.formatDateTime2String(date, "yyyy-MM-dd").getBytes());
	}
	
	/**
	 * 获取是否需要提醒用户签到
	 * @author Han Guohong
	 * @param userId
	 * @return
	 */
	public static boolean ifRemind(String userId){
		byte [] strArr = RedisUtil.hget(RedisConstants.FANS_NOTIFY.getBytes(), userId.getBytes());
		if(strArr == null){
			return true;
		}else{
			String date = new String(strArr);
			if(StringUtils.isBlank(date)){
				return true;
			}else{
				String now = DateTimeUtils.formatDateTime2String(new Date(), "yyyy-MM-dd");
				if(now.equals(date)){
					return false;
				}else{
					return true;
				}
			}
		}
	}
}
